home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
Dev
/
Oberon
/
source
/
amiga
/
ConUnit.mod
< prev
next >
Wrap
Text File
|
1995-06-29
|
4KB
|
109 lines
(***************************************************************************
$RCSfile: ConUnit.mod $
Description: Interface to console.device
Created by: fjc (Frank Copeland)
$Revision: 3.8 $
$Author: fjc $
$Date: 1995/06/04 23:13:14 $
$VER: conunit.h 36.15 (20.11.90)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994-1995, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
<* STANDARD- *>
MODULE [2] ConUnit;
IMPORT
e := Exec, ie := InputEvent, km := KeyMap, gfx := Graphics,
i := Intuition, c := Console, s := Sets;
(*
** Console device unit definitions
*)
CONST
(* ---- console unit numbers for OpenDevice() *)
library * = -1; (* no unit, just fill in device field *)
standard * = 0; (* standard unmapped console *)
(* ---- New unit numbers for OpenDevice() - (V36) *)
charMap * = 1; (* bind character map to console *)
snipMap * = 3; (* bind character map w/ snip to console *)
(* ---- New flag defines for OpenDevice() - (V37) *)
flagDefault * = {};
flagNodrawOnNewsize * = {0};
pmbAsm * = c.mLNM+1; (* internal storage bit for AS flag *)
pmbAwm * = pmbAsm+1; (* internal storage bit for AW flag *)
maxTabs * = 80;
TYPE
ConUnitPtr * = POINTER TO ConUnit;
ConUnit * = RECORD (e.MsgPortBase)
mp * : e.MsgPort;
(* ---- read only variables *)
window - : i.WindowPtr; (* intuition window bound to this unit *)
xCP - : INTEGER; (* character position *)
yCP - : INTEGER;
xMax - : INTEGER; (* max character position *)
yMax - : INTEGER;
xRSize - : INTEGER; (* character raster size *)
yRSize - : INTEGER;
xROrigin - : INTEGER; (* raster origin *)
yROrigin - : INTEGER;
xRExtant - : INTEGER; (* raster maxima *)
yRExtant - : INTEGER;
xMinShrink - : INTEGER; (* smallest area intact from resize process *)
yMinShrink - : INTEGER;
xcCP - : INTEGER; (* cursor position *)
ycCP - : INTEGER;
(* ---- read/write variables (writes must must be protected) *)
(* ---- storage for AskKeyMap and SetKeyMap *)
keyMapStruct * : km.KeyMap;
(* ---- tab stops *)
tabStops * : ARRAY maxTabs OF e.UWORD;
(* 0 at start, 0FFFFH at end of list *)
(* ---- console rastport attributes *)
mask * : s.SET8;
fgPen * : SHORTINT;
bgPen * : SHORTINT;
aolPen * : SHORTINT;
drawMode * : s.SET8;
obsolete1 * : SHORTINT; (* was cuAreaPtSz -- not used in V36 *)
obsolete2 * : e.APTR; (* was cuAreaPtrn -- not used in V36 *)
minterms * : ARRAY 8 OF e.UBYTE; (* console minterms *)
font * : gfx.TextFontPtr;
algoStyle * : e.UBYTE;
txFlags * : s.SET8;
txHeight * : e.UWORD;
txWidth * : e.UWORD;
txBaseline * : e.UWORD;
txSpacing * : INTEGER;
(* ---- console MODES and RAW EVENTS switches *)
modes * : ARRAY (pmbAwm+7) DIV 8 OF s.SET8; (* one bit per mode *)
rawEvents * : ARRAY (ie.classMax+8) DIV 8 OF s.SET8;
END; (* ConUnit *)
END ConUnit.